home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 184 (1991-12-10)(Manewaldt, A.)(DE)(PD).zip
/
Taifun 184 (1991-12-10)(Manewaldt, A.)(DE)(PD).adf
/
Glider
/
Glider.AMOS
/
Glider.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-12-05
|
13KB
|
539 lines
Screen Open 0,330,270,16,Lowres
Rem ************************************
Rem * *
Rem * Written By *
Rem * TONY STREET *
Rem * Completed 8/7/91 *
Rem * Second Game Ever *
Rem * *
Rem ************************************
HX=160 : HY=10 : LEV=1 : SCORE=0 : LIFE=3 : HSCORE=0
Global HX,HY,LEV,SCORE,LIFE,HSCORE
'
TITLE
SR
'
Procedure BO1
Anim Off
Bob Off 1 : Bob Off 2 : Bob Off 3
Bob Off 4 : Bob Off 5 : Bob Off 6
Bob Off 7 : Bob Off 8 : Bob Off 9
End Proc
Procedure SHOF
Bob Off
Cls 0
Mvolume 63
Paper 0
Pen 1
Pen 9 : Locate 13,8 : Print "Congratulations"
Locate 6,12 : Print "You have completed all levels"
Print
Print
Locate 17,16 : Pen 6 : Print "The End "
Wait 200
Locate 20,19 : Pen 5 : Print "or "
Wait 40
Locate 15,23 : Print "THE BEGINING"
Wait 250
LEV=1
End Proc
Procedure SR
STOB:
If LEV>20 Then SHOF
Screen Open 0,320,270,16,Lowres
Mvolume 20
Hide
Flash Off
Cls 0
Unpack 6 To 0
Double Buffer
Get Sprite Palette
Paper 10
Pen 11
Print "SCORE:";SCORE;" High:";HSCORE;" lives:";LIFE
Print
If LEV=1 Then LEV1
If LEV=2 Then LEV1
If LEV=3 Then LEV2
If LEV=4 Then LEV3
If LEV=5 Then LEV3
If LEV=6 Then LEV4
If LEV=7 Then LEV5
If LEV=8 Then LEV6
If LEV=9 Then LEV5
If LEV=10 Then LEV7
If LEV=11 Then LEV8
If LEV=12 Then LEV9
If LEV=13 Then LEV10
If LEV=14 Then LEV8
If LEV=15 Then LEV11
If LEV=16 Then LEV12
If LEV=17 Then LEV7
If LEV=18 Then LEV10
If LEV=19 Then LEV14
If LEV=20 Then LEV15
A=26 : HX=160 : HY=10
Bob 10,HX,HY,A
Do
HY=HY+1 : Wait 2
If A=28 Then HX=HX+1
If A=26 Then HX=HX-1
If A=29 Then HY=HY+1 : HX=HX-2
If A=30 Then HY=HY+1 : HX=HX+2
If Jleft(1) Then A=26
If Jright(1) Then A=28
If Jdown(1) Then If A=<26 : A=29 : Else A=30 : End If
If Bob Col(10,1 To 9) Then Boom : Goto CRASH
If HY>=230 Then A=36
Bob 10,HX,HY,A
If HY>=230 Then Goto FIN1
If HX>=290 Then A=26
If HX<=0 Then A=28
Loop
FIN1:
LEV=LEV+1
BO1
Bob 11,HX,HY,A
Put Bob 11
Bell
SCORE=SCORE+1
Paper 10
Pen 11
Locate 6,10 : Print "Well Done You Have Completed "
Print
Locate 16,12 : Print "Level ";SCORE
Wait 150
Goto STOB
CRASH:
Do
For G=HY To 227
Bob 10,HX,G,32
If G=>227 Then Goto HOLE
Wait 1
Next G
Loop
HOLE:
BO1
G=234
Boom
Channel 10 To Bob 10
Bob 10,HX,G,33
Channel 1 To Bob 10
A$="Anim 8,(33,4)(34,4);"
Amal 10,A$
Amal On 10
Wait 64
Bob 10,HX,G,35
LIFE=LIFE-1
If LIFE=<0 Then Wait 100 : Goto FINISH
Paper 10
Pen 11
Locate 10,10
Centre "You Lose A Life"
Wait 150
Goto STOB
FINISH:
Anim Off
Bob Off
Cls 0
Paper 0
Pen 11
Locate 16,13 : Print "Game Over"
Locate 13,15 : Print "Your Score Was";SCORE
If SCORE>HSCORE Then Locate 13,17 : Print "A New High Score"
Locate 7,20 : Pen 6 : Print "Press A Key To Restart Game"
Mvolume 63
Wait Key
If SCORE>HSCORE Then HSCORE=SCORE
LEV=1 : SCORE=0 : LIFE=3
Goto STOB
End Proc
Procedure TITLE
Music 1
Tempo 17
Mvolume 63
Unpack 7 To 0
Hide On
Screen Hide 0
SLIDE_ON[0]
Wait 300
SLIDE_OFF[0]
Screen Close 0
'
Unpack 8 To 0
Hide On
Screen Hide 0
SLIDE_ON[0]
Wait Key
SLIDE_OFF[0]
Screen Close 0
End Proc
Procedure SLIDE_ON[NUM]
Screen Display NUM,500,,,
Screen Show NUM : Screen To Front NUM
For LOP=437 To 128 Step -16
Screen Display NUM,LOP,,,
Wait Vbl
Next LOP
End Proc
Procedure SLIDE_OFF[NUM]
Y=50
For LOP=128 To 432 Step 16
Screen Display NUM,LOP,Y,,
Add Y,-14
Wait Vbl
Next LOP
End Proc
Procedure LEV1
Channel 1 To Bob 1
Bob 1,330,75,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
T=Rnd(10)+1 : Wait T
Channel 2 To Bob 2
Bob 2,340,120,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,75:Anim0,(19,2)(20,2)(21,2):Move 400,0,75;Jump Loop"
Amal 2,B$
Amal On 2
End Proc
Procedure LEV2
Channel 1 To Bob 1
Bob 1,330,75,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,130:Anim0,(1,4)(2,4):Move 380,0,130;Jump Loop"
Amal 1,A$
Amal On 1
T=Rnd(10)+1 : Wait T
Channel 2 To Bob 2
Bob 2,340,130,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,65:Anim0,(19,2)(20,2)(21,2):Move 400,0,65;Jump Loop"
Amal 2,B$
Amal On 2
End Proc
Procedure LEV3
Channel 1 To Bob 1
Bob 1,330,60,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
Wait 20
Channel 2 To Bob 2
Bob 2,340,100,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,90:Anim0,(19,2)(20,2)(21,2):Move 400,0,90;Jump Loop"
Amal 2,B$
Amal On 2
Wait 50
Channel 4 To Bob 4
Bob 4,330,150,7
A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,100:Anim0,(5,2)(6,2):Move 380,0,100;Jump Loop"
Amal 4,A$
Amal On 4
T=Rnd(10)+1 : Wait T
Channel 5 To Bob 5
Bob 5,330,170,16
A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
Amal 5,A$
Amal On 50
End Proc
Procedure LEV4
Channel 1 To Bob 1
Bob 1,330,60,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,130:Anim0,(1,4)(2,4):Move 380,0,130;Jump Loop"
Amal 1,A$
Amal On 1
Wait 20
Channel 2 To Bob 2
Bob 2,340,100,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,70:Anim0,(19,2)(20,2)(21,2):Move 400,0,70;Jump Loop"
Amal 2,B$
Amal On 2
Wait 50
Channel 4 To Bob 4
Bob 4,330,150,7
A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,80:Anim0,(5,2)(6,2):Move 380,0,80;Jump Loop"
Amal 4,A$
Amal On 4
T=Rnd(10)+1 : Wait T
Channel 5 To Bob 5
Bob 5,330,170,16
A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
Amal 5,A$
Amal On 50
End Proc
Procedure LEV5
Channel 1 To Bob 1
Bob 1,330,50,1
A$="Loop:Anim 0,(12,4):Move -380,0,100:Anim0,(11,4):Move 380,0,100;Jump Loop"
Amal 1,A$
Amal On 1
T=Rnd(10)+1 : Wait T
Channel 2 To Bob 2
Bob 2,340,80,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
Amal 2,B$
Amal On 2
T=Rnd(10)+1 : Wait T
Channel 3 To Bob 3
Bob 3,330,110,9
C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
Amal 3,C$
Amal On 3
T=Rnd(10)+1 : Wait T
Channel 4 To Bob 4
Bob 4,330,140,7
A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
Amal 4,A$
Amal On 4
T=Rnd(10)+1 : Wait T
Channel 5 To Bob 5
Bob 5,330,170,16
A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
Amal 5,A$
Amal On 50
End Proc
Procedure LEV6
Channel 1 To Bob 1
Bob 1,330,50,1
A$="Loop:Anim 0,(12,4):Move -380,0,100:Anim0,(11,4):Move 380,0,100;Jump Loop"
Amal 1,A$
Amal On 1
T=Rnd(10)+1 : Wait T
Channel 2 To Bob 2
Bob 2,340,170,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
Amal 2,B$
Amal On 2
T=Rnd(10)+1 : Wait T
Channel 3 To Bob 3
Bob 3,330,110,9
C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
Amal 3,C$
Amal On 3
T=Rnd(10)+1 : Wait T
Channel 4 To Bob 4
Bob 4,330,140,7
A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
Amal 4,A$
Amal On 4
T=Rnd(10)+1 : Wait T
Channel 5 To Bob 5
Bob 5,330,80,16
A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
Amal 5,A$
Amal On 50
End Proc
Procedure LEV7
Channel 1 To Bob 1
Bob 1,330,50,1
A$="Loop:Anim 0,(12,4):Move -380,0,80:Anim0,(11,4):Move 380,0,80;Jump Loop"
Amal 1,A$
Amal On 1
T=Rnd(10)+1 : Wait T
Channel 2 To Bob 2
Bob 2,340,170,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,150:Anim0,(19,2)(20,2)(21,2):Move 400,0,150;Jump Loop"
Amal 2,B$
Amal On 2
T=Rnd(10)+1 : Wait T
Channel 3 To Bob 3
Bob 3,330,110,9
C$="Loop:Amin 0,(10,10):Move -380,0,60:Anim 0,(9,10):Move 380,0,60;Jump Loop"
Amal 3,C$
Amal On 3
T=Rnd(10)+1 : Wait T
Channel 4 To Bob 4
Bob 4,330,70,7
A$="Loop:Anim 0,(7,2)(8,2):Move -380,0,110:Anim0,(5,2)(6,2):Move 380,0,110;Jump Loop"
Amal 4,A$
Amal On 4
T=Rnd(10)+1 : Wait T
Channel 5 To Bob 5
Bob 5,330,80,16
A$="Loop:Anim 0,(16,2)(17,2)(18,2):Move -380,0,105:Anim0,(13,2)(14,2)(15,2):Move 380,0,105;Jump Loop"
Amal 5,A$
Amal On 50
End Proc
Procedure LEV8
Channel 1 To Bob 1
Bob 1,330,40,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
Channel 2 To Bob 2
Bob 2,340,80,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
Amal 2,B$
Amal On 2
Channel 3 To Bob 3
Bob 3,330,130,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 3,A$
Amal On 3
Channel 4 To Bob 4
Bob 4,340,170,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
Amal 4,B$
Amal On 4
End Proc
Procedure LEV9
Channel 1 To Bob 1
Bob 1,330,40,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
Channel 3 To Bob 3
Bob 3,330,130,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 3,A$
Amal On 3
Wait 100
Channel 2 To Bob 2
Bob 2,340,80,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
Amal 2,B$
Amal On 2
Channel 4 To Bob 4
Bob 4,340,170,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,100:Anim0,(19,2)(20,2)(21,2):Move 400,0,100;Jump Loop"
Amal 4,B$
Amal On 4
End Proc
Procedure LEV10
Channel 1 To Bob 1
Bob 1,330,40,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
Channel 3 To Bob 3
Bob 3,330,130,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 3,A$
Amal On 3
Wait 100
Channel 2 To Bob 2
Bob 2,340,80,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,120:Anim0,(19,2)(20,2)(21,2):Move 400,0,120;Jump Loop"
Amal 2,B$
Amal On 2
Channel 4 To Bob 4
Bob 4,340,170,19
B$="Loop:Anim 0,(22,2)(23,2)(24,2):Move -400,0,120:Anim0,(19,2)(20,2)(21,2):Move 400,0,120;Jump Loop"
Amal 4,B$
Amal On 4
Wait 50
Channel 5 To Bob 5
Bob 5,340,100,19
B$="Loop:Anim 0,(10,2):Move -400,0,60:Anim0,(9,2):Move 400,0,60;Jump Loop"
Amal 5,B$
Amal On 5
End Proc
Procedure LEV11
Channel 1 To Bob 1
Bob 1,330,40,1
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 1,A$
Amal On 1
Channel 2 To Bob 2
Bob 2,330,80,16
A$="Loop:Anim 0,(16,4)(17,4)(18,4):Move -380,0,100:Anim0,(13,4)(14,4)(15,4):Move 380,0,100;Jump Loop"
Amal 2,A$
Amal On 2
Wait 10
Channel 3 To Bob 3
Bob 3,330,170,22
A$="Loop:Anim 0,(22,4)(23,4)(24,4):Move -380,0,120:Anim0,(19,4)(20,4)(21,4):Move 380,0,120;Jump Loop"
Amal 3,A$
Amal On 3
Wait 50
Channel 4 To Bob 4
Bob 4,330,100,10
A$="Loop:Anim 0,(10,4):Move -380,0,80:Anim0,(9,4):Move 380,0,80;Jump Loop"
Amal 4,A$
Amal On 4
Channel 5 To Bob 5
Bob 5,330,120,12
A$="Loop:Anim 0,(12,4):Move -380,0,50:Anim0,(11,4):Move 380,0,50;Jump Loop"
Amal 5,A$
Amal On 5
End Proc
Procedure LEV12
Channel 1 To Bob 1
Bob 1,330,40,12
A$="Loop:Anim 0,(12,4):Move -380,0,50:Anim0,(11,4):Move 380,0,50;Jump Loop"
Amal 1,A$
Amal On 1
Channel 2 To Bob 2
Bob 2,330,80,16
A$="Loop:Anim 0,(16,4)(17,4)(18,4):Move -380,0,100:Anim0,(13,4)(14,4)(15,4):Move 380,0,100;Jump Loop"
Amal 2,A$
Amal On 2
Wait 10
Channel 3 To Bob 3
Bob 3,330,170,22
A$="Loop:Anim 0,(22,4)(23,4)(24,4):Move -380,0,120:Anim0,(19,4)(20,4)(21,4):Move 380,0,120;Jump Loop"
Amal 3,A$
Amal On 3
Wait 50
Channel 4 To Bob 4
Bob 4,330,100,10
A$="Loop:Anim 0,(10,4):Move -380,0,80:Anim0,(9,4):Move 380,0,80;Jump Loop"
Amal 4,A$
Amal On 4
Channel 5 To Bob 5
Bob 5,330,140,3
A$="Loop:Anim 0,(3,4)(4,4):Move -380,0,150:Anim0,(1,4)(2,4):Move 380,0,150;Jump Loop"
Amal 5,A$
Amal On 5
End Proc
Procedure LEV14
Channel 1 To Bob 1
Bob 1,330,50,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 1,A$
Amal On 1
Channel 2 To Bob 2
Bob 2,330,120,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 2,A$
Amal On 2
Wait 50
Channel 3 To Bob 3
Bob 3,330,65,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 3,A$
Amal On 3
Channel 4 To Bob 4
Bob 4,330,135,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 4,A$
Amal On 4
End Proc
Procedure LEV15
Channel 1 To Bob 1
Bob 1,330,60,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 1,A$
Amal On 1
Channel 2 To Bob 2
Bob 2,330,120,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 2,A$
Amal On 2
Wait 50
Channel 3 To Bob 3
Bob 3,330,80,12
A$="Loop:Anim 0,(12,4):Move -380,0,60:Anim0,(11,4):Move 380,0,60;Jump Loop"
Amal 3,A$
Amal On 3
Channel 4 To Bob 4
Bob 4,330,135,12
A$="Loop:Anim 0,(12,4):Move -380,0,55:Anim0,(11,4):Move 380,0,55;Jump Loop"
Amal 4,A$
Amal On 4
Wait 50
Channel 5 To Bob 5
Bob 5,330,165,16
A$="Loop: Anim 0,(16,4)(17,4)(18,4) : Move-380,0,260 : Anim 0,(13,4)(14,4)(15,4) : Move 380,0,260;Jump Loop "
Amal 5,A$
Amal On 5
End Proc